home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / sorts2 / sorts.frm < prev    next >
Text File  |  1995-05-08  |  22KB  |  826 lines

  1. VERSION 2.00
  2. Begin Form Sorts 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "A Program of Sorts"
  6.    ClientHeight    =   5250
  7.    ClientLeft      =   1095
  8.    ClientTop       =   1425
  9.    ClientWidth     =   6690
  10.    FontBold        =   -1  'True
  11.    FontItalic      =   0   'False
  12.    FontName        =   "MS Sans Serif"
  13.    FontSize        =   9.75
  14.    FontStrikethru  =   0   'False
  15.    FontUnderline   =   0   'False
  16.    ForeColor       =   &H00FFFFFF&
  17.    Height          =   5655
  18.    Icon            =   SORTS.FRX:0000
  19.    Left            =   1035
  20.    LinkMode        =   1  'Source
  21.    LinkTopic       =   "Form1"
  22.    MaxButton       =   0   'False
  23.    MinButton       =   0   'False
  24.    ScaleHeight     =   5250
  25.    ScaleWidth      =   6690
  26.    Top             =   1080
  27.    Width           =   6810
  28.    Begin CommandButton EXIT_PGM 
  29.       Caption         =   "EXIT"
  30.       Enabled         =   0   'False
  31.       Height          =   855
  32.       Left            =   5580
  33.       TabIndex        =   7
  34.       Top             =   240
  35.       Width           =   855
  36.    End
  37.    Begin CommandButton START 
  38.       Caption         =   "START"
  39.       Height          =   855
  40.       Left            =   4500
  41.       TabIndex        =   6
  42.       Top             =   240
  43.       Width           =   855
  44.    End
  45.    Begin PictureBox SortPlot 
  46.       BackColor       =   &H00FFFFFF&
  47.       DrawWidth       =   3
  48.       ForeColor       =   &H00000000&
  49.       Height          =   3996
  50.       Left            =   240
  51.       ScaleHeight     =   3960
  52.       ScaleWidth      =   3960
  53.       TabIndex        =   0
  54.       Top             =   240
  55.       Width           =   3996
  56.    End
  57.    Begin Label Label5 
  58.       Alignment       =   2  'Center
  59.       BackColor       =   &H00C0C0C0&
  60.       Caption         =   "EXIT leaves program, writes result file."
  61.       Height          =   435
  62.       Left            =   4440
  63.       TabIndex        =   11
  64.       Top             =   1200
  65.       Width           =   2055
  66.    End
  67.    Begin Label Label4 
  68.       Alignment       =   2  'Center
  69.       BackColor       =   &H00C0C0C0&
  70.       Caption         =   "Results text file will be placed in C:\SORT_LST.TXT"
  71.       ForeColor       =   &H00FF0000&
  72.       Height          =   615
  73.       Left            =   4440
  74.       TabIndex        =   10
  75.       Top             =   1920
  76.       Width           =   2055
  77.    End
  78.    Begin Label Label1 
  79.       Alignment       =   2  'Center
  80.       BackColor       =   &H00C0C0C0&
  81.       Caption         =   "Algorithm Run Time"
  82.       Height          =   255
  83.       Left            =   4440
  84.       TabIndex        =   9
  85.       Top             =   2700
  86.       Width           =   2055
  87.    End
  88.    Begin Label text1 
  89.       Alignment       =   2  'Center
  90.       BackColor       =   &H0000FFFF&
  91.       Caption         =   "Algorithm   Now Running   Shown on Title Bar"
  92.       FontBold        =   -1  'True
  93.       FontItalic      =   0   'False
  94.       FontName        =   "MS Sans Serif"
  95.       FontSize        =   12
  96.       FontStrikethru  =   0   'False
  97.       FontUnderline   =   0   'False
  98.       Height          =   1275
  99.       Left            =   4560
  100.       TabIndex        =   8
  101.       Top             =   3780
  102.       Visible         =   0   'False
  103.       Width           =   1815
  104.    End
  105.    Begin Label Clock 
  106.       Alignment       =   2  'Center
  107.       BackColor       =   &H00C0C0C0&
  108.       Caption         =   "00:00.00"
  109.       FontBold        =   -1  'True
  110.       FontItalic      =   0   'False
  111.       FontName        =   "Arial"
  112.       FontSize        =   18
  113.       FontStrikethru  =   0   'False
  114.       FontUnderline   =   0   'False
  115.       ForeColor       =   &H00000000&
  116.       Height          =   435
  117.       Left            =   4440
  118.       TabIndex        =   5
  119.       Top             =   3000
  120.       Width           =   2055
  121.    End
  122.    Begin Label Swaps 
  123.       Alignment       =   2  'Center
  124.       BackColor       =   &H00C0C0C0&
  125.       Caption         =   "XXX"
  126.       FontBold        =   -1  'True
  127.       FontItalic      =   0   'False
  128.       FontName        =   "Arial"
  129.       FontSize        =   13.5
  130.       FontStrikethru  =   0   'False
  131.       FontUnderline   =   0   'False
  132.       ForeColor       =   &H00000000&
  133.       Height          =   315
  134.       Left            =   2700
  135.       TabIndex        =   4
  136.       Top             =   4680
  137.       Width           =   975
  138.    End
  139.    Begin Label Iterations 
  140.       Alignment       =   2  'Center
  141.       BackColor       =   &H00C0C0C0&
  142.       Caption         =   "XXX"
  143.       FontBold        =   -1  'True
  144.       FontItalic      =   0   'False
  145.       FontName        =   "Arial"
  146.       FontSize        =   13.5
  147.       FontStrikethru  =   0   'False
  148.       FontUnderline   =   0   'False
  149.       ForeColor       =   &H00000000&
  150.       Height          =   315
  151.       Left            =   780
  152.       TabIndex        =   3
  153.       Top             =   4680
  154.       Width           =   975
  155.    End
  156.    Begin Label Label3 
  157.       Alignment       =   2  'Center
  158.       BackColor       =   &H00C0C0C0&
  159.       Caption         =   "Swaps"
  160.       FontBold        =   -1  'True
  161.       FontItalic      =   0   'False
  162.       FontName        =   "Arial"
  163.       FontSize        =   9.75
  164.       FontStrikethru  =   0   'False
  165.       FontUnderline   =   0   'False
  166.       ForeColor       =   &H00000000&
  167.       Height          =   255
  168.       Left            =   2700
  169.       TabIndex        =   2
  170.       Top             =   4320
  171.       Width           =   975
  172.    End
  173.    Begin Label Label2 
  174.       Alignment       =   2  'Center
  175.       BackColor       =   &H00C0C0C0&
  176.       Caption         =   "Iterations"
  177.       FontBold        =   -1  'True
  178.       FontItalic      =   0   'False
  179.       FontName        =   "Arial"
  180.       FontSize        =   9.75
  181.       FontStrikethru  =   0   'False
  182.       FontUnderline   =   0   'False
  183.       ForeColor       =   &H00000000&
  184.       Height          =   255
  185.       Left            =   780
  186.       TabIndex        =   1
  187.       Top             =   4320
  188.       Width           =   975
  189.    End
  190. End
  191. Dim unit(100) As Integer
  192. Dim StartTime As Double
  193. Dim oldx1 As Integer, oldy1 As Integer, oldx2 As Integer, oldy2 As Integer
  194. Dim newx1 As Integer, newy1 As Integer, newx2 As Integer, newy2 As Integer
  195. Dim Done As Integer, DisplayOn As Integer
  196. Dim comp As Integer, swic As Integer
  197. Dim p(100) As Integer, w(100) As Integer
  198. Dim results(3, 8) As String
  199. Dim base_data(100) As Integer
  200. Dim first_pass As Integer
  201.  
  202.  
  203.  
  204.  
  205. Sub bsort ()
  206.     StartTime = Now
  207.     Dim j As Integer, k As Integer, l As Integer, t As Integer
  208.     For l = 1 To 100
  209.         j = l
  210.         For k = j + 1 To 100
  211.             comp = comp + 1
  212.             If unit(k) <= unit(j) Then
  213.                 j = k
  214.                 q% = DoEvents()
  215.             End If
  216.         Next k
  217.         If l <> j Then
  218.             swic = swic + 1
  219.             t = unit(j)
  220.             oldx1 = unit(j)
  221.             oldy1 = j
  222.             unit(j) = unit(l)
  223.             oldx2 = unit(l)
  224.             oldy2 = l
  225.             newx1 = unit(j)
  226.             newy1 = j
  227.             unit(l) = t
  228.             newx2 = unit(l)
  229.             newy2 = l
  230.             ShowTime
  231.             ShowIter
  232.             OverPlot
  233.             NewPlot
  234.                 q% = DoEvents()
  235.         End If
  236.     Next l
  237.     ShowTime
  238.     ShowIter
  239. End Sub
  240.  
  241. Sub dfsort ()
  242.     Dim cl As Integer, cr As Integer, k As Integer
  243.     Dim min As Integer, max As Integer, umin As Integer, umax As Integer, t As Integer
  244.     StartTime = Now
  245.     For cl = 1 To 50
  246.         cr = 101 - cl
  247.         max = unit(cr)
  248.         umax = cr
  249.         min = unit(cl)
  250.         umin = cl
  251.                 q% = DoEvents()
  252.         For k = cr To cl Step -1
  253.             comp = comp + 1
  254.                 q% = DoEvents()
  255.             If unit(k) < min Then
  256.                 min = unit(k)
  257.                 umin = k
  258.             End If
  259.         Next k
  260.                 
  261.         If unit(cl) > unit(umin) Then
  262.             swic = swic + 1
  263.             t = unit(cl)
  264.             oldx1 = unit(cl)
  265.             oldy1 = cl
  266.             unit(cl) = unit(umin)
  267.